package br.com.cinesystem.entity;

import java.util.Date;
import java.util.List;


public class Usuario{

    private Integer idUsuario;
    private String nome;
    private String sexo;
    private String email;
    private String cpf;
    private String rg;
    private Date dataNascimento;
    private Integer perfil;
    private Integer situacao;
    private String senha;
    private Endereco endereco;
    private List<Funcionario> funcionarioList;
    private List<Cliente> clienteList;
    private List<Venda> vendaList;

  

    public Usuario() {
    }

    public Usuario(Integer idUsuario) {
        this.idUsuario = idUsuario;
    }

    public Usuario(Integer idUsuario, String nome, String sexo, String email, String cpf, String rg, Date dataNascimento, Integer perfil) {
        this.idUsuario = idUsuario;
        this.nome = nome;
        this.sexo = sexo;
        this.email = email;
        this.cpf = cpf;
        this.rg = rg;
        this.dataNascimento = dataNascimento;
        this.perfil = perfil;

    }
    public Usuario(Integer idUsuario, String nome, String sexo, String email, String cpf, String rg, Date dataNascimento, Integer perfil, Endereco endereco, Integer situacao) {
        this.idUsuario = idUsuario;
        this.nome = nome;
        this.sexo = sexo;
        this.email = email;
        this.cpf = cpf;
        this.rg = rg;
        this.dataNascimento = dataNascimento;
        this.perfil = perfil;
        this.endereco = endereco;
        this.situacao = situacao;
    }

    public Usuario(Integer idUsuario, String nome, String sexo, String email, String cpf, String rg, Date dataNascimento, Integer perfil, Endereco endereco) {
        this.idUsuario = idUsuario;
        this.nome = nome;
        this.sexo = sexo;
        this.email = email;
        this.cpf = cpf;
        this.rg = rg;
        this.dataNascimento = dataNascimento;
        this.perfil = perfil;
        this.endereco = endereco;
    }

    public Usuario(String nome, String email, Integer perfil, Integer idUsuario) {
        this.nome = nome;
        this.email = email;
        this.perfil = perfil;
        this.idUsuario = idUsuario;
    }


    public Integer getIdUsuario() {
        return idUsuario;
    }
      public String getCpf() {
        return cpf;
    }


    public Integer getPerfil() {
        return perfil;
    }

    public void setPerfil(Integer perfil) {
        this.perfil = perfil;
    }
    public void setCpf(String cpf) {
        this.cpf = cpf;
    }

    public Date getDataNascimento() {
        return dataNascimento;
    }

    public void setDataNascimento(Date dataNascimento) {
        this.dataNascimento = dataNascimento;
    }

    public String getRg() {
        return rg;
    }

    public void setRg(String rg) {
        this.rg = rg;
    }

    public void setIdUsuario(Integer idUsuario) {
        this.idUsuario = idUsuario;
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public String getSexo() {
        return sexo;
    }

    public void setSexo(String sexo) {
        this.sexo = sexo;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getSenha() {
        return senha;
    }

    public void setSenha(String senha) {
        this.senha = senha;
    }

    public List<Funcionario> getFuncionarioList() {
        return funcionarioList;
    }

    public void setFuncionarioList(List<Funcionario> funcionarioList) {
        this.funcionarioList = funcionarioList;
    }

    public List<Cliente> getClienteList() {
        return clienteList;
    }

    public void setClienteList(List<Cliente> clienteList) {
        this.clienteList = clienteList;
    }

    public List<Venda> getVendaList() {
        return vendaList;
    }

    public void setVendaList(List<Venda> vendaList) {
        this.vendaList = vendaList;
    }

    public Endereco getEndereco() {
        return endereco;
    }

    public void setEndereco(Endereco endereco) {
        this.endereco = endereco;
    }

    public Integer getSituacao() {
        return situacao;
    }

    public void setSituacao(Integer situacao) {
        this.situacao = situacao;
    }

    
    @Override
    public int hashCode() {
        int hash = 0;
        hash += (idUsuario != null ? idUsuario.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof Usuario)) {
            return false;
        }
        Usuario other = (Usuario) object;
        if ((this.idUsuario == null && other.idUsuario != null) || (this.idUsuario != null && !this.idUsuario.equals(other.idUsuario))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "entity.Usuario[idUsuario=" + idUsuario + "]";
    }

}
